package com.cupdata.zicon.proxy;

/**
 * 业务的代理类
 */
public class SubjectProxy implements Subject{
    private Subject subject;
    public SubjectProxy(Subject subject){
        this.subject = subject;
    }
    /**
     * 代理后 前置方法
     */
    private void preRequest(){
        System.out.println("代理后的前置方法执行");
    }

    @Override
    public void operation() {
        preRequest();
        subject.operation();
        afterRequest();
    }

    /**
     * 代理后后置方法
     */
    private void afterRequest(){
        System.out.println("代理后的后置方法执行");
    }
}
